package com.zzyl.nursing.service.impl;

import java.util.List;

import com.zzyl.common.utils.DateUtils;
import lombok.RequiredArgsConstructor;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import com.zzyl.nursing.mapper.NursingLevelMapper;
import com.zzyl.nursing.domain.NursingLevel;
import com.zzyl.nursing.service.INursingLevelService;
import org.springframework.transaction.annotation.Transactional;

import java.util.Arrays;

/**
 * 护理等级Service业务层处理
 *
 * @Author: Zhy
 * @Date: 2025-02-21
 */
@Service
@RequiredArgsConstructor
public class NursingLevelServiceImpl extends ServiceImpl<NursingLevelMapper, NursingLevel> implements INursingLevelService {

	private final NursingLevelMapper nursingLevelMapper;

	/**
	 * 查询护理等级
	 *
	 * @param: id 护理等级主键
	 * @return: 护理等级
	 */
	@Override
	public NursingLevel selectNursingLevelById(Integer id) {
		return getById(id);
	}

	/**
	 * 查询护理等级列表
	 *
	 * @param: nursingLevel 护理等级
	 * @return: 护理等级
	 */
	@Override
	public List<NursingLevel> selectNursingLevelList(NursingLevel nursingLevel) {
		return nursingLevelMapper.selectNursingLevelList(nursingLevel);
	}

	/**
	 * 新增护理等级
	 *
	 * @param: nursingLevel 护理等级
	 * @return: 结果
	 */
	@Override
	public int insertNursingLevel(NursingLevel nursingLevel) {
		return save(nursingLevel) ? 1 : 0;
	}

	/**
	 * 修改护理等级
	 *
	 * @param: nursingLevel 护理等级
	 * @return: 结果
	 */
	@Override
	public int updateNursingLevel(NursingLevel nursingLevel) {
		return updateById(nursingLevel) ? 1 : 0;
	}

	/**
	 * 批量删除护理等级
	 *
	 * @param: ids 需要删除的护理等级主键
	 * @return: 结果
	 */
	@Override
	@Transactional(rollbackFor = Exception.class)
	public int deleteNursingLevelByIds(Integer[] ids) {
		return removeBatchByIds(Arrays.asList(ids)) ? 1 : 0;
	}

	/**
	 * 删除护理等级信息
	 *
	 * @param: id 护理等级主键
	 * @return: 结果
	 */
	@Override
	public int deleteNursingLevelById(Integer id) {
		return removeById(id) ? 1 : 0;
	}

}
